{"componentChunkName":"component---src-templates-topic-page-index-tsx","path":"/topics/intermediario/","result":{"data":{"allMdx":{"nodes":[{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como criar um produto constante AMM através de contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAIBBQAAAAAAAAAAAAAAAAISEQEEECEi/9oACAEBAAEFAhrFwbiIyq9bx//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABsQAQACAwEBAAAAAAAAAAAAAAEAESExQRDx/9oACAEBAAE/IbKQo6ESaRxi4khqmSIxB07Mr5+f/9oADAMBAAIAAwAAABDgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERACFBcVFhgZHR/9oACAEBAAE/EBq+BpzQTZ+d8acSk17GMQYKSj40w9FkihzlHj04WF1d8//Z","aspectRatio":1.5151515151515151,"src":"/static/88c42a86253e0e291f24f1bb34dcc90c/0cb3d/capa.jpg","srcSet":"/static/88c42a86253e0e291f24f1bb34dcc90c/f836f/capa.jpg 200w,\n/static/88c42a86253e0e291f24f1bb34dcc90c/2244e/capa.jpg 400w,\n/static/88c42a86253e0e291f24f1bb34dcc90c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"produto-constante-amm/","tags":["Intermediário","DeFi"],"title":"Como criar um produto constante AMM"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como criar uma soma constante AMM através de contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDcRG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAgICAwAAAAAAAAAAAAAAAREAAjFRAxAS/9oACAEBAAY/AiDyE2s0NRh2OoHmegnM9f/EABsQAAIDAAMAAAAAAAAAAAAAAAERACExEEHx/9oACAEBAAE/IWUgjgQiUjpThEQUliGiAelWYvPj/9oADAMBAAIAAwAAABDgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERACFRYRBBgZHR/9oACAEBAAE/EBq+BpzQTs/OcacSk17GMQYKSj40wwCkjhtcrzm3p//Z","aspectRatio":1.5151515151515151,"src":"/static/b26701cdc19f67714514d269fb75958c/0cb3d/capa.jpg","srcSet":"/static/b26701cdc19f67714514d269fb75958c/f836f/capa.jpg 200w,\n/static/b26701cdc19f67714514d269fb75958c/2244e/capa.jpg 400w,\n/static/b26701cdc19f67714514d269fb75958c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"soma-constante-amm/","tags":["Intermediário","DeFi"],"title":"Como criar uma soma constante AMM"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como criar um sistema de cofre para seu projeto, token ou jogo NFT.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGhAAAgIDAAAAAAAAAAAAAAAAAhIBEQQQIf/aAAgBAQABBQIZrINxEbVYbuv/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAACAgIDAAAAAAAAAAAAAAABEQACMVEDEBL/2gAIAQEABj8CIPITazQ1GHY6geZ6AD3M9f/EABwQAAICAgMAAAAAAAAAAAAAAAERACEQMUFh8f/aAAgBAQABPyFlII6CESkcKcIiCksTUDquLwx//9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQACAQMFAAAAAAAAAAAAAAEAESEQQVFhgZHR8P/aAAgBAQABPxAbXwNnMCbPrrGnEsrXkRiDBSrHtiZyGU0qOLn0Gn//2Q==","aspectRatio":1.5151515151515151,"src":"/static/8b6e2c4e5798594e93b566abaad54ae3/0cb3d/capa.jpg","srcSet":"/static/8b6e2c4e5798594e93b566abaad54ae3/f836f/capa.jpg 200w,\n/static/8b6e2c4e5798594e93b566abaad54ae3/2244e/capa.jpg 400w,\n/static/8b6e2c4e5798594e93b566abaad54ae3/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"sistema-de-cofre/","tags":["Intermediário","DeFi"],"title":"Como criar um sistema de Cofre"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como criar um sistema de Staking de Recompensas para seu projeto, token ou jogo NFT.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABkQAAMBAQEAAAAAAAAAAAAAAAECERIEEP/aAAgBAQABBQJTOh9hVucii+f/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAABBQADAAAAAAAAAAAAAAABAAIRMVEDEBL/2gAIAQEABj8CIPIS50wMUtlxxCbXoXqvr//EABwQAQACAQUAAAAAAAAAAAAAAAEAESEQMUFh0f/aAAgBAQABPyGykKOwiWguGLiSGqZI3QDqgt40/9oADAMBAAIAAwAAABCQz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQACAgIDAAAAAAAAAAAAAAEAESFhMYFBUdH/2gAIAQEAAT8QG18DZzAnh+bh/AsrXZjEGClWPWIdrykFU28xOWPoBAornc//2Q==","aspectRatio":1.5151515151515151,"src":"/static/1f6739d05d898366367ca4e25859d4c9/0cb3d/capa.jpg","srcSet":"/static/1f6739d05d898366367ca4e25859d4c9/f836f/capa.jpg 200w,\n/static/1f6739d05d898366367ca4e25859d4c9/2244e/capa.jpg 400w,\n/static/1f6739d05d898366367ca4e25859d4c9/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"sistema-de-staking/","tags":["Intermediário","Avançado","DeFi"],"title":"Como criar um sistema de Staking de Recompensas"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como criar um sistema de preços Chainlink Oracle para seu projeto, token ou jogo NFT.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Ki3df//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUdXY6geZ6Ccz1//8QAGxABAAICAwAAAAAAAAAAAAAAAQARITEQQfH/2gAIAQEAAT8hspCjoRLQXTFxJDVMkwgHtqV4cf/aAAwDAQACAAMAAAAQsM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAEFAQEAAAAAAAAAAAABEQAhQWFxgTHR/9oACAEBAAE/EBq+BpzQTZ/OcP4FJr04xBgpKPmmAgJI1Tv7gKbeuBCW85//2Q==","aspectRatio":1.5151515151515151,"src":"/static/1384d933f5cc722c570050af4b7f51ee/0cb3d/capa.jpg","srcSet":"/static/1384d933f5cc722c570050af4b7f51ee/f836f/capa.jpg 200w,\n/static/1384d933f5cc722c570050af4b7f51ee/2244e/capa.jpg 400w,\n/static/1384d933f5cc722c570050af4b7f51ee/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"sistema-de-preco-chainlink-oracle/","tags":["Intermediário","Avançado","DeFi"],"title":"Como criar um sistema de preços Oracle"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como utilizar o Uniswap V3.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQQDAQAAAAAAAAAAAAAAAQACETEDEFES/9oACAEBAAY/AiDkJc6YHFLZceITa9C1ev/EABsQAQADAAMBAAAAAAAAAAAAAAEAESEQMUHx/9oACAEBAAE/IbKQo9CJaC8ZcSQ1TSOQB5dQPjx//9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQEAAgIDAQAAAAAAAAAAAAERACFhgTFBcdH/2gAIAQEAAT8QGr4GnNCen85w/gUmuzjEGCko9awyBlTqffOUx04BgQi3nP/Z","aspectRatio":1.5151515151515151,"src":"/static/ae02221f62f999ee1c60845b6e97fdd8/0cb3d/capa.jpg","srcSet":"/static/ae02221f62f999ee1c60845b6e97fdd8/f836f/capa.jpg 200w,\n/static/ae02221f62f999ee1c60845b6e97fdd8/2244e/capa.jpg 400w,\n/static/ae02221f62f999ee1c60845b6e97fdd8/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"exemplos-de-uso-do-uniswap-v3/","tags":["Intermediário","Avançado","DeFi"],"title":"Exemplos de uso do Uniswap V3"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como adicionar liquidez em uma pool e realizar swap de tokens utilizando o Uniswap V2.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQQDAQAAAAAAAAAAAAAAAQACETEDEFES/9oACAEBAAY/AiDkJc6YHFLZceITa9C1ev/EABsQAQADAAMBAAAAAAAAAAAAAAEAESEQMUHx/9oACAEBAAE/IbKQo9CJaC8ZcSQ1TSOQB5dQPjx//9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQEAAgIDAQAAAAAAAAAAAAERACFhgTFBcdH/2gAIAQEAAT8QGr4GnNCen85w/gUmuzjEGCko9awyBlTqffOUx04BgQi3nP/Z","aspectRatio":1.5151515151515151,"src":"/static/96bdd707aeb59beb002c97a01ab4ec42/0cb3d/capa.jpg","srcSet":"/static/96bdd707aeb59beb002c97a01ab4ec42/f836f/capa.jpg 200w,\n/static/96bdd707aeb59beb002c97a01ab4ec42/2244e/capa.jpg 400w,\n/static/96bdd707aeb59beb002c97a01ab4ec42/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"fornecimento-unilateral-com-uniswap-v2/","tags":["Intermediário","Avançado","DeFi"],"title":"Fornecimento unilateral ideal com Uniswap V2"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como adicionar e remover liquidez de uma pool utilizando o Uniswap V2.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxASQf/aAAgBAQAGPwIg8hNrNDUdXY6geZ6+zPX/xAAaEAEBAQADAQAAAAAAAAAAAAABEQAhMUHR/9oACAEBAAE/IaUhD0MloLxxckhkcmlAL9hgr4wT27//2gAMAwEAAgADAAAAELAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHBABAQACAwEBAAAAAAAAAAAAAREAIVFhgUHR/9oACAEBAAE/EBq+BpzQnx/O8P4FJr04xBgpKPmsWDdDvJxZctDq8AmIIrszP//Z","aspectRatio":1.5151515151515151,"src":"/static/53907e82e3e225ec528ceadbb049bc69/0cb3d/capa.jpg","srcSet":"/static/53907e82e3e225ec528ceadbb049bc69/f836f/capa.jpg 200w,\n/static/53907e82e3e225ec528ceadbb049bc69/2244e/capa.jpg 400w,\n/static/53907e82e3e225ec528ceadbb049bc69/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"adicionar-e-remover-liquidez-com-uniswap-v2/","tags":["Intermediário","Avançado","DeFi"],"title":"Como adicionar e remover liquidez com Uniswap V2"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como realizar uma troca de tokens utilizando o Uniswap V2.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQISEQQQ/9oACAEBAAEFAlOdD2qrsyKw+f/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUYdjqB5npBzPX/xAAbEAACAgMBAAAAAAAAAAAAAAABEQAhEDFB8P/aAAgBAQABPyFlII6CESkcU4REFJYmoB2Vc8Bj/9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQACAQMFAAAAAAAAAAAAAAEAESEQQWFxgZHR8P/aAAgBAQABPxAbXwNnMCbPrmNOJZWvIjEGClWPbEz1IqnY6z4jT//Z","aspectRatio":1.5151515151515151,"src":"/static/8776fadf9d5210d455dc52cf26da2957/0cb3d/capa.jpg","srcSet":"/static/8776fadf9d5210d455dc52cf26da2957/f836f/capa.jpg 200w,\n/static/8776fadf9d5210d455dc52cf26da2957/2244e/capa.jpg 400w,\n/static/8776fadf9d5210d455dc52cf26da2957/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"swap-com-uniswap-v2/","tags":["Intermediário","DeFi"],"title":"Como realizar Swap com Uniswap V2"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como realizar testes em um contrato inteligente com Echidna.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDcRG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDESJccQm16F6r6//xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhEEExUcH/2gAIAQEAAT8hYyCPAQkStKcIiCksQuAAPpc184//2gAMAwEAAgADAAAAEPDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAAICAgMAAAAAAAAAAAAAAQARIUFhgTFx0f/aAAgBAQABPxAbnwNnMCafnMaMGytdkjEGClWPWIYJ1NOHvzKto3hmBRS3yz//2Q==","aspectRatio":1.5151515151515151,"src":"/static/e9bbad49535537049de7b1971c5eda22/0cb3d/capa.jpg","srcSet":"/static/e9bbad49535537049de7b1971c5eda22/f836f/capa.jpg 200w,\n/static/e9bbad49535537049de7b1971c5eda22/2244e/capa.jpg 400w,\n/static/e9bbad49535537049de7b1971c5eda22/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"testes-com-echidna/","tags":["Intermediário"],"title":"Como realizar testes com Echidna"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso consegue ignorar a verificação do tamanho de um contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjoxowf/EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABoQAAMBAQEBAAAAAAAAAAAAAAABESExQfD/2gAIAQEAAT8hoSEPEGbiPGUZmLI1DW4Gy9H3Bc0//9oADAMBAAIAAwAAABCwD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAgEFAQAAAAAAAAAAAAERACFhMUFxgZHR/9oACAEBAAE/EBu+BpzQnZ/Ocf8AEpNfRjEGCko+tYUAaiFHnIo6cRlzVZtnXP/Z","aspectRatio":1.5151515151515151,"src":"/static/27cd461d61784e0dbcbedfd70eee73ac/0cb3d/capa.jpg","srcSet":"/static/27cd461d61784e0dbcbedfd70eee73ac/f836f/capa.jpg 200w,\n/static/27cd461d61784e0dbcbedfd70eee73ac/2244e/capa.jpg 400w,\n/static/27cd461d61784e0dbcbedfd70eee73ac/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"ignorar-verificacao-do-tamanho-do-contrato/","tags":["Intermediário","Hacks"],"title":"Como ignorar a verificação do tamanho do contrato"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso consegue manipular a data e hora do bloco de uma blockchain.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNWAYP/8QAGhAAAgIDAAAAAAAAAAAAAAAAAQIREgQQIf/aAAgBAQABBQJTGQ9wqzWonuv/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAABBAMBAAAAAAAAAAAAAAABAAIRMQMQURL/2gAIAQEABj8CIOQlzpgcUiXHiE2vQtXr/8QAGxABAQEAAgMAAAAAAAAAAAAAAREAIUEQMdH/2gAIAQEAAT8hoSEPoZLiOnFySGRyZtAH3NK+fH//2gAMAwEAAgADAAAAEKDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQABAwUAAAAAAAAAAAAAAREAIUFhMXGBkdH/2gAIAQEAAT8QG74GnNBNn5zj/iUmvYxiDBSUfGmGKdElU79cFN0bkYEAW85//9k=","aspectRatio":1.5151515151515151,"src":"/static/56452a8c9a7dbe221f97c569817ea87a/0cb3d/capa.jpg","srcSet":"/static/56452a8c9a7dbe221f97c569817ea87a/f836f/capa.jpg 200w,\n/static/56452a8c9a7dbe221f97c569817ea87a/2244e/capa.jpg 400w,\n/static/56452a8c9a7dbe221f97c569817ea87a/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"manipular-timestamp-do-bloco/","tags":["Intermediário","Hacks"],"title":"Manipulando o timestamp do bloco na blockchain"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso utiliza a técnica de front running para antecipar uma transação durante outra transação.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAEEAgMAAAAAAAAAAAAAAAEAAhExA1EQEnH/2gAIAQEABj8CIOQlzpgaUiXHSE2uwvxXx//EABsQAQACAwEBAAAAAAAAAAAAAAEAESExQaHw/9oACAEBAAE/IbCQo6ES6Rxi4khqmSJMQXdo/ZPZ/9oADAMBAAIAAwAAABCAD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQEAAQIHAAAAAAAAAAAAAAERACGBMUFRYXGR0f/aAAgBAQABPxAbvgac0E5Pzvj/AIlJr2MYgwUlHbTHpHRlR544AibIwEItdc//2Q==","aspectRatio":1.5151515151515151,"src":"/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg","srcSet":"/static/7cb2ab2781a12795a917634d9c36fc8c/f836f/capa.jpg 200w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/2244e/capa.jpg 400w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"ataque-front-running/","tags":["Intermediário","Hacks"],"title":"Ataque utilizando a técnica front running"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como desenvolver um contrato inteligente para atrair e pegar hackers e contratos maliciosos através da técnica honeypot (pote de mel).","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAEEAgMAAAAAAAAAAAAAAAEAAhExA1EQEnH/2gAIAQEABj8CIOQlzpgaUiXHSE2uwvxXx//EABsQAQACAwEBAAAAAAAAAAAAAAEAESExQaHw/9oACAEBAAE/IbCQo6ES6Rxi4khqmSJMQXdo/ZPZ/9oADAMBAAIAAwAAABCAD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQEAAQIHAAAAAAAAAAAAAAERACGBMUFRYXGR0f/aAAgBAQABPxAbvgac0E5Pzvj/AIlJr2MYgwUlHbTHpHRlR544AibIwEItdc//2Q==","aspectRatio":1.5151515151515151,"src":"/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg","srcSet":"/static/7cb2ab2781a12795a917634d9c36fc8c/f836f/capa.jpg 200w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/2244e/capa.jpg 400w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"honeypot/","tags":["Intermediário","Hacks"],"title":"Criar uma armadilha para hackers com a técnica honeypot"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso consegue ocultar seu script malicioso e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABsQAAMAAwEBAAAAAAAAAAAAAAABESExQWHw/9oACAEBAAE/IaEhDpBm4jjFGZiyMoaqBH7sfcFj0//aAAwDAQACAAMAAAAQgA//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAfEAEBAAEDBQEAAAAAAAAAAAABEQAhUWExQXGBkdH/2gAIAQEAAT8QG74GnNBOz+c4/wCJSa+jGIMFJR9aY1AEZaNr1xI8tmCIryc//9k=","aspectRatio":1.5151515151515151,"src":"/static/7e8a7ddccf40e6b4029c7df7dbfddb32/0cb3d/capa.jpg","srcSet":"/static/7e8a7ddccf40e6b4029c7df7dbfddb32/f836f/capa.jpg 200w,\n/static/7e8a7ddccf40e6b4029c7df7dbfddb32/2244e/capa.jpg 400w,\n/static/7e8a7ddccf40e6b4029c7df7dbfddb32/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"ocultar-script-malicioso/","tags":["Intermediário","Hacks"],"title":"Como um contrato malicioso esconde seu script"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso realiza phishing com tx.origin e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWHR/9oACAEBAAE/IbCQo8CJdI6ZcSQ1TSJGAffKOfmGez//2gAMAwEAAgADAAAAEIAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQACAQUBAAAAAAAAAAAAAREAIVFBYXGBkdH/2gAIAQEAAT8QG74GnNCdH874/wCJSa+jGIMFJR9awoARlpxcA028MCItcuf/2Q==","aspectRatio":1.5151515151515151,"src":"/static/e3699dab901b1a9fdcc21cc2d5ee41ae/0cb3d/capa.jpg","srcSet":"/static/e3699dab901b1a9fdcc21cc2d5ee41ae/f836f/capa.jpg 200w,\n/static/e3699dab901b1a9fdcc21cc2d5ee41ae/2244e/capa.jpg 400w,\n/static/e3699dab901b1a9fdcc21cc2d5ee41ae/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"phishing-com-txorigin/","tags":["Intermediário","Hacks"],"title":"Phishing com tx.origin"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso age para tornar um contrato inutilizável e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjpoYw//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUYdjqB5noJ7Uz1/8QAGxABAAICAwAAAAAAAAAAAAAAAQARITFBcdH/2gAIAQEAAT8hsJCjoRLpHDFxJDVMkSKg+ya+Yay3P//aAAwDAQACAAMAAAAQsM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAeEAEAAgIBBQAAAAAAAAAAAAABABEhUWFBcYGR0f/aAAgBAQABPxAb3wNnMCdH5zH/ABLK17EYgwUqx8YheAU0YavUrkdkKHI3U//Z","aspectRatio":1.5151515151515151,"src":"/static/202df82b71ba02e956b2804120035a2c/0cb3d/capa.jpg","srcSet":"/static/202df82b71ba02e956b2804120035a2c/f836f/capa.jpg 200w,\n/static/202df82b71ba02e956b2804120035a2c/2244e/capa.jpg 400w,\n/static/202df82b71ba02e956b2804120035a2c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"negacao-de-servico/","tags":["Intermediário","Hacks"],"title":"Inutilizar um contrato através da negação de serviço"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso age para descobrir um valor através das fontes de aleatoriedade e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1qJ7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDFIlxxCbXoXqvr//xAAcEAEAAgEFAAAAAAAAAAAAAAABABEhEDFBUdH/2gAIAQEAAT8hsJCjsIl0jhi4khqmSJMAfSGfnT//2gAMAwEAAgADAAAAELDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQABAwUAAAAAAAAAAAAAAREAIUFhMVGBkdH/2gAIAQEAAT8QG74GnNBNn5zj/iUmvYxiDBSUfGmGU6MbO164EB0bwYEIt5c//9k=","aspectRatio":1.5151515151515151,"src":"/static/62c4bbfcbae1b06546188130c127ba07/0cb3d/capa.jpg","srcSet":"/static/62c4bbfcbae1b06546188130c127ba07/f836f/capa.jpg 200w,\n/static/62c4bbfcbae1b06546188130c127ba07/2244e/capa.jpg 400w,\n/static/62c4bbfcbae1b06546188130c127ba07/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"fonte-de-aleatoriedade/","tags":["Intermediário","Hacks"],"title":"Fonte de Aleatoriedade"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso age para acessar e chamar as funções delegatecall e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNQYYP/8QAGxAAAQQDAAAAAAAAAAAAAAAAAgEEERIQISL/2gAIAQEAAQUCFYcHdBGa163j/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxAScf/aAAgBAQAGPwIg8hNrNDUYdjqB5noJ/Jnr/8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAIRAxQfD/2gAIAQEAAT8hYSCOghFpHFOERBSWIRqB0dp7WP/aAAwDAQACAAMAAAAQkM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAeEAEAAgEEAwAAAAAAAAAAAAABABEhMUFhcYGR0f/aAAgBAQABPxAb3wNnMCbPzmP+JZWvYjEGClWPjELYMqko71gW3nWGheWf/9k=","aspectRatio":1.5151515151515151,"src":"/static/4d6204851247e386e17625b5cb176d70/0cb3d/capa.jpg","srcSet":"/static/4d6204851247e386e17625b5cb176d70/f836f/capa.jpg 200w,\n/static/4d6204851247e386e17625b5cb176d70/2244e/capa.jpg 400w,\n/static/4d6204851247e386e17625b5cb176d70/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"chamada-de-funcao-delegatecall/","tags":["Intermediário","Hacks"],"title":"Chamada de função delegatecall"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso age para acessar variáveis privadas e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxASQf/aAAgBAQAGPwIg8hNrNDUYdjqB5nr7M9f/xAAbEAEBAQACAwAAAAAAAAAAAAABEQAhQTFh0f/aAAgBAQABPyGhIQ+BkuI6cXJIZHJkkAH3NK+cce9//9oADAMBAAIAAwAAABCwD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQACAgAHAAAAAAAAAAAAAAEAESFRMUFhcYGR0f/aAAgBAQABPxAb3wNnMCcn51j/AIlla9iMQYKVY+MTCGhrutXx1CkOHZAilVtn/9k=","aspectRatio":1.5151515151515151,"src":"/static/e12be764d7fd040493045ce2ff058bfb/0cb3d/capa.jpg","srcSet":"/static/e12be764d7fd040493045ce2ff058bfb/f836f/capa.jpg 200w,\n/static/e12be764d7fd040493045ce2ff058bfb/2244e/capa.jpg 400w,\n/static/e12be764d7fd040493045ce2ff058bfb/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"acessando-variaveis-privadas/","tags":["Intermediário","Hacks"],"title":"Acessando variáveis privadas"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso de auto-destruição funciona e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjsxgwf/EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9hV2YFef/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEkH/2gAIAQEABj8CIPITazQ1GHY6geZ6+zPX/8QAGhAAAwEBAQEAAAAAAAAAAAAAAAERIUExUf/aAAgBAQABPyGhIQ+IM3EcZRmYsjUaESvsVI/oWdp//9oADAMBAAIAAwAAABCQD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERACFh0UFRgZHh/9oACAEBAAE/EBu+BpzQTo8b4/4lJr2MYgwUlHxpgJAETpO1lx+UcYERW5z/2Q==","aspectRatio":1.5151515151515151,"src":"/static/caf59a546ce37351201ba2cef671b2e7/0cb3d/capa.jpg","srcSet":"/static/caf59a546ce37351201ba2cef671b2e7/f836f/capa.jpg 200w,\n/static/caf59a546ce37351201ba2cef671b2e7/2244e/capa.jpg 400w,\n/static/caf59a546ce37351201ba2cef671b2e7/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"auto-destruicao/","tags":["Intermediário","Hacks"],"title":"Ataques com Auto-destruição"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso de estouro de memória funciona e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjaQLB//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxASQf/aAAgBAQAGPwIg8hNrNDUYdjqB5nr7M9f/xAAcEAEBAAICAwAAAAAAAAAAAAABEQAhEDFBUaH/2gAIAQEAAT8hoSEPQxLiPDVxJDI2Y2AD3mBW/nj/2gAMAwEAAgADAAAAEKDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAQACAgMBAAAAAAAAAAAAAREAITFhQYGR0f/aAAgBAQABPxAbvgac0J4fzvH/ABKTX0YxBgpKPrWDT4iTU7ZcbsJOAGBCc95//9k=","aspectRatio":1.5151515151515151,"src":"/static/625dd8ba4502cc3959569a82ba3ab456/0cb3d/capa.jpg","srcSet":"/static/625dd8ba4502cc3959569a82ba3ab456/f836f/capa.jpg 200w,\n/static/625dd8ba4502cc3959569a82ba3ab456/2244e/capa.jpg 400w,\n/static/625dd8ba4502cc3959569a82ba3ab456/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"estouro-de-memoria/","tags":["Intermediário","Hacks"],"title":"Ataques com estouro de memória"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como um contrato malicioso de reentrada funciona e como previnir um ataque em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjsxgwf/EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9hV2ZFef/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEkH/2gAIAQEABj8CIPITazQ1GHY6geZ6+zPX/8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAIRAxQVH/2gAIAQEAAT8hYSCOghFpHFOERBSWJrAB2VcR9Y//2gAMAwEAAgADAAAAELDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAAIBBAMAAAAAAAAAAAAAAQARIUFhgdExcZH/2gAIAQEAAT8QG98DZzAmj1vH/EsrX0RiDBSrHjEzXooTY91cW0uDqVRXnef/2Q==","aspectRatio":1.5151515151515151,"src":"/static/1b748035448b3f0bf54995a07df36894/0cb3d/capa.jpg","srcSet":"/static/1b748035448b3f0bf54995a07df36894/f836f/capa.jpg 200w,\n/static/1b748035448b3f0bf54995a07df36894/2244e/capa.jpg 400w,\n/static/1b748035448b3f0bf54995a07df36894/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"ataque-de-reentrada/","tags":["Intermediário","Hacks"],"title":"Ataque de reentrada, aprenda como funciona e como evitar"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como gravar dados em qualquer slot do storage da blockchain através de um contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBABAAICAwEAAAAAAAAAAAAAAQARAjEDEFES/9oACAEBAAY/AkeRcsro8il5PkL3Po3N9f/EABsQAAIDAAMAAAAAAAAAAAAAAAERACFBEDHB/9oACAEBAAE/IWUgj0EJMjFOERBSWIagAeq5nzx//9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAgEFAQAAAAAAAAAAAAERACGBMUFRYXHR/9oACAEBAAE/EBq+BpzQnZ/PeRz2hi5OMQYKSjxrBLUhnp965KHLTAhFr5c//9k=","aspectRatio":1.5151515151515151,"src":"/static/5f10709f3ec46900b840e6fafb26027d/0cb3d/capa.jpg","srcSet":"/static/5f10709f3ec46900b840e6fafb26027d/f836f/capa.jpg 200w,\n/static/5f10709f3ec46900b840e6fafb26027d/2244e/capa.jpg 400w,\n/static/5f10709f3ec46900b840e6fafb26027d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"gravar-dados-no-slot/","tags":["Intermediário","Aplicações"],"title":"Como gravar dados em qualquer slot"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como criar nosso primeiro Token ERC721 e uma aplicação que irá interagir com nosso token.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkOXCrNaie6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDES2XHEJteheq+v/xAAcEAADAAEFAAAAAAAAAAAAAAAAAREhEDFBYdH/2gAIAQEAAT8hpSEOyEGBwxRmYsjKHahLqEq86f/aAAwDAQACAAMAAAAQkM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAIBBQAAAAAAAAAAAAABEQBhIRBBgZHR/9oACAEBAAE/EBq+BpzgTs/N4mQtJr2xiDBSUfHGXh5EFU25GsGidP/Z","aspectRatio":1.5151515151515151,"src":"/static/7c0611785aba711814983f21b70c002f/0cb3d/capa.jpg","srcSet":"/static/7c0611785aba711814983f21b70c002f/f836f/capa.jpg 200w,\n/static/7c0611785aba711814983f21b70c002f/2244e/capa.jpg 400w,\n/static/7c0611785aba711814983f21b70c002f/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"token-erc721/","tags":["Intermediário","Avançado","Aplicações"],"title":"Criando nosso primeiro Token ERC721"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a como criar nosso primeiro Token ERC20 e uma aplicação que irá interagir com nosso token.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkOXCrNaie6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDES2XHEJteheq+v/xAAcEAADAAEFAAAAAAAAAAAAAAAAAREhEDFBYdH/2gAIAQEAAT8hpSEOyEGBwxRmYsjKHahLqEq86f/aAAwDAQACAAMAAAAQkM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAEEAwAAAAAAAAAAAAABEQAQIUFhgZHR/9oACAEBAAE/EBq+BpzYTh+d4mQtJr2xiDBSUfG2Xx5EFU7cWLBOCaf/2Q==","aspectRatio":1.5151515151515151,"src":"/static/93c845a8821b032557d4fef97962169e/0cb3d/capa.jpg","srcSet":"/static/93c845a8821b032557d4fef97962169e/f836f/capa.jpg 200w,\n/static/93c845a8821b032557d4fef97962169e/2244e/capa.jpg 400w,\n/static/93c845a8821b032557d4fef97962169e/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"token-erc20/","tags":["Intermediário","Avançado","Aplicações"],"title":"Criando nosso primeiro Token ERC20"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a criar uma aplicação utilizando o mapeamento iterável através da criação de um contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Ki3df//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUJq7HUDzPQT2pnr//EABsQAQADAQADAAAAAAAAAAAAAAEAESExEEHx/9oACAEBAAE/IbKQocESwL0y4khqmkxAPHpK+Pj/2gAMAwEAAgADAAAAEIDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQACAQUBAAAAAAAAAAAAAREAITFBYXGBkdH/2gAIAQEAAT8QGr4OnNCdH874aQaTX0YxBgpKPrWEhpoFHnBZwssOcZ//2Q==","aspectRatio":1.5151515151515151,"src":"/static/59fdc8390868b3cd1369150925cb60ab/0cb3d/capa.jpg","srcSet":"/static/59fdc8390868b3cd1369150925cb60ab/f836f/capa.jpg 200w,\n/static/59fdc8390868b3cd1369150925cb60ab/2244e/capa.jpg 400w,\n/static/59fdc8390868b3cd1369150925cb60ab/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"aplicacao-mapeamento-iteravel/","tags":["Intermediário","Aplicações"],"title":"Mapeamento Iterável"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos aprender a criar uma carteira que aceita múltiplas assinaturas no envio da transação através da criação de um contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkOXCrNSot3X//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUJq7HUDzPQT2pnr//EABsQAAIDAAMAAAAAAAAAAAAAAAERACExEEHx/9oACAEBAAE/IWUgjgRDA6U4REFJYlIAYvSLw4//2gAMAwEAAgADAAAAEIDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAAICAQUAAAAAAAAAAAAAAQARIUGBMWFxkdH/2gAIAQEAAT8QG18DZzAmn53iZC2Vr2jEGClWPGIB0EAFHmOknGHQvLU//9k=","aspectRatio":1.5151515151515151,"src":"/static/194819c025504b44e7518ce7250b947d/0cb3d/capa.jpg","srcSet":"/static/194819c025504b44e7518ce7250b947d/f836f/capa.jpg 200w,\n/static/194819c025504b44e7518ce7250b947d/2244e/capa.jpg 400w,\n/static/194819c025504b44e7518ce7250b947d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"aplicacao-multi-assinatura/","tags":["Intermediário","Avançado","Aplicações"],"title":"Carteira com Multi-Assinaturas"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre como verificar uma assinatura hashing através da função keccak256.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNAcYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgQQ/9oACAEBAAEFAlM6H2FW5KxqfP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAQABAwUAAAAAAAAAAAAAAAERAAJRAxASMXH/2gAIAQEABj8CR1FuumDFKTc4onuuRE+b/wD/xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhMUEQYZH/2gAIAQEAAT8hYSCOAhJkaU4REFJYgkAHvKdo84//2gAMAwEAAgADAAAAEKDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAQABAgcAAAAAAAAAAAAAAREAIVExQWFxgZHR/9oACAEBAAE/EBu+BpzQTk/OuPmbSa9sYgwUlHxpkL5jJR3x42ltgEItd5n/2Q==","aspectRatio":1.5151515151515151,"src":"/static/f5b7dabf1528a0cc98ff58f3af53bd6c/0cb3d/capa.jpg","srcSet":"/static/f5b7dabf1528a0cc98ff58f3af53bd6c/f836f/capa.jpg 200w,\n/static/f5b7dabf1528a0cc98ff58f3af53bd6c/2244e/capa.jpg 400w,\n/static/f5b7dabf1528a0cc98ff58f3af53bd6c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"assinaturas-e-hashing-keccak/","tags":["Intermediário","Avançado"],"title":"Verificando assinatura hashing com Keccak256"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre como importar novas libraries em seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNQYYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgQQ/9oACAEBAAEFAlM6H2FW5Kii+f/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1CQ7HUDzPQT+TPX//xAAbEAEBAAMAAwAAAAAAAAAAAAABEQAhMRBBsf/aAAgBAQABPyGhIQ8GKMj01cSQyNmCZCe9Ymz48f/aAAwDAQACAAMAAAAQsM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAcEAEAAgIDAQAAAAAAAAAAAAABABEhMUFhgdH/2gAIAQEAAT8QG98DZzAnD87j5m2Vr0xiDBSrHzERSKNVvdwGhriKreZ//9k=","aspectRatio":1.5151515151515151,"src":"/static/2a62abdd95304cd5fd33c1a19c456f7c/0cb3d/capa.jpg","srcSet":"/static/2a62abdd95304cd5fd33c1a19c456f7c/f836f/capa.jpg 200w,\n/static/2a62abdd95304cd5fd33c1a19c456f7c/2244e/capa.jpg 400w,\n/static/2a62abdd95304cd5fd33c1a19c456f7c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"import-e-libraries/","tags":["Iniciante","Intermediário"],"title":"Import e Libraries, para que servem?"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre como criar um novo contrato através do seu contrato inteligente. Os contratos podem ser criados por outros contratos usando a palavra-chave `new`.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNQYYP/8QAGhABAAIDAQAAAAAAAAAAAAAAAgERBBASIf/aAAgBAQABBQIzWQ+yTfMml7r/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAdEAACAgIDAQAAAAAAAAAAAAABEQACMVEDEBJx/9oACAEBAAY/AiDyE2s0NQkOx1A8z0E/kz1//8QAGhAAAwADAQAAAAAAAAAAAAAAAAERITFB8f/aAAgBAQABPyGjIQ6QaErjFGZiyMoRAp3YvkaP/9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQEAAQQDAAAAAAAAAAAAAAERACExUYFBYdH/2gAIAQEAAT8QGz4GnNBPD8940YNJrsmMQYKSj1pkrRIyo4u+bRGswCIteZn/2Q==","aspectRatio":1.5151515151515151,"src":"/static/e1973327d8472088f5afef4099be4829/0cb3d/capa.jpg","srcSet":"/static/e1973327d8472088f5afef4099be4829/f836f/capa.jpg 200w,\n/static/e1973327d8472088f5afef4099be4829/2244e/capa.jpg 400w,\n/static/e1973327d8472088f5afef4099be4829/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"criar-contrato-simples/","tags":["Intermediário"],"title":"Criar um contrato através de outro contrato"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre a utilização das funções `call`, `fallback`, `delegatecall` e chamadas de outros contratos no seu contrato inteligente. Falaremos sobre `call`, `fallback` e `delegatecall`.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEAf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKHYY0P/8QAGhAAAgMBAQAAAAAAAAAAAAAAAQIAERIEIf/aAAgBAQABBQJTXQ+1VbyRTewT/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAgICAwAAAAAAAAAAAAAAAREAAjFRAxAh/9oACAEBAAY/AiDyE2s0NQkOx1A8x+Pamev/xAAbEAADAQADAQAAAAAAAAAAAAAAAREhMUFx0f/aAAgBAQABPyGjIQ8INCV0yjMxZGoTCq+hZ+Cprp//2gAMAwEAAgADAAAAEODP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAQACAQUAAAAAAAAAAAAAAREAIYExQVFh0f/aAAgBAQABPxAbPgac0J2fnvGjBpNckxiDBSUeNY2P1MKPFxkgHGi0O+kz/9k=","aspectRatio":1.5151515151515151,"src":"/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/0cb3d/capa.jpg","srcSet":"/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/f836f/capa.jpg 200w,\n/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/2244e/capa.jpg 400w,\n/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"call-fallback-delegatecall/","tags":["Intermediário"],"title":"Call, Fallback, Delegatecall e chamadas de contratos"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre como enviar tokens através das funções `transfer`, `send` e `call` no seu contrato inteligente. Falaremos sobre `transfer`, `send` e `call`.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjpowwf/EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Ihu6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxABAAIDAQEAAAAAAAAAAAAAAQARAjFRAxD/2gAIAQEABj8CR9FyyujkUvJ5C9ywL7U38//EABsQAAIDAAMAAAAAAAAAAAAAAAERACExEEHB/9oACAEBAAE/IWEgjgQkyOlOERBSWINMGL0jv44//9oADAMBAAIAAwAAABCQD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABwQAQADAQADAQAAAAAAAAAAAAEAESGBQVFh0f/aAAgBAQABPxAb3wNnME8P59j5m2VrpjEGClWPMmE0KCu8iDhhkGhfqf/Z","aspectRatio":1.5151515151515151,"src":"/static/7799ef5ecb3f5a41b643fe61d22ff3c2/0cb3d/capa.jpg","srcSet":"/static/7799ef5ecb3f5a41b643fe61d22ff3c2/f836f/capa.jpg 200w,\n/static/7799ef5ecb3f5a41b643fe61d22ff3c2/2244e/capa.jpg 400w,\n/static/7799ef5ecb3f5a41b643fe61d22ff3c2/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"transfer-send-call/","tags":["Iniciante","Intermediário"],"title":"Enviar Ether com transfer, send e call"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre como interagir com interfaces, funções pagáveis e níveis de visibilidade em funções do seu contrato inteligente. Falaremos sobre `visibility`, `interface` e `payable`.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNAcYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgQQ/9oACAEBAAEFAlM6H2qrclYafP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAQABAwUAAAAAAAAAAAAAAAERAAJRAxASMXH/2gAIAQEABj8CR1FuumDFKTc4onuuRE+b/wD/xAAbEAACAgMBAAAAAAAAAAAAAAABEQAxECFBkf/aAAgBAQABPyFjII0EJErjThEQUmxAJAPtpSGPMf/aAAwDAQACAAMAAAAQ4M//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAeEAEBAAIBBQEAAAAAAAAAAAABEQAhgTFBUWFx0f/aAAgBAQABPxAbPgac0J2fz3jRg0muSYxBgpKPGsalCMqPvXN2ylXAIRa+Zn//2Q==","aspectRatio":1.5151515151515151,"src":"/static/0a6ffd21431bc4db8650bc5b9cc7f750/0cb3d/capa.jpg","srcSet":"/static/0a6ffd21431bc4db8650bc5b9cc7f750/f836f/capa.jpg 200w,\n/static/0a6ffd21431bc4db8650bc5b9cc7f750/2244e/capa.jpg 400w,\n/static/0a6ffd21431bc4db8650bc5b9cc7f750/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"visibilidade-interface-pagavel/","tags":["Intermediário"],"title":"Visibilidade, Interfaces e Funções Pagáveis"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre como emitir eventos, declarar construtores e definir heranças no seu contrato inteligente. Falaremos sobre `emit`, `constructor` e `herança`.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjtgwwf/EABkQAAMBAQEAAAAAAAAAAAAAAAECERIABP/aAAgBAQABBQJTPQ+wq3ORRSe//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAgICAwAAAAAAAAAAAAAAAREAAjFRAxAS/9oACAEBAAY/AiDyE2s0NQkOx1A8z0E5nr//xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhEDFBUdH/2gAIAQEAAT8hYSCOghJkcKcIiCksQugDurheBj//2gAMAwEAAgADAAAAELDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAQACAgMBAAAAAAAAAAAAAREAIWGBMUFx0f/aAAgBAQABPxAbvgac0J6fznHzNpNdnGIMFJR61gmqIzo++caCAl1iTTvnP//Z","aspectRatio":1.5151515151515151,"src":"/static/0333408d42b5592912022b3f7c2d7b4b/0cb3d/capa.jpg","srcSet":"/static/0333408d42b5592912022b3f7c2d7b4b/f836f/capa.jpg 200w,\n/static/0333408d42b5592912022b3f7c2d7b4b/2244e/capa.jpg 400w,\n/static/0333408d42b5592912022b3f7c2d7b4b/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"evento-construtor-heranca/","tags":["Iniciante","Intermediário"],"title":"Evento, Construtor e Herança"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre como tratar de forma correta os erros de transações e condições no Solidity. Falaremos sobre `require`, `revert` e `assert` para tratar condições e `try / catch` para tratar exceções.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNAcYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgAE/9oACAEBAAEFAlM9D7Crc4Ghb3//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIRAxASMVFB/9oACAEBAAY/AiDUJc6YHESJceITtZerdv/EABkQAAMBAQEAAAAAAAAAAAAAAAABESExQf/aAAgBAQABPyGlIQ8QaMjxlGZiyNQ1MuP7C3TglFrp/9oADAMBAAIAAwAAABCgD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQACAgIDAAAAAAAAAAAAAAEAESFRMYFBYdH/2gAIAQEAAT8QG18DZzAnh+e4+Ztla7MYgwUqx6xKgcBItNXMFiduI1SPbP/Z","aspectRatio":1.5151515151515151,"src":"/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/0cb3d/capa.jpg","srcSet":"/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/f836f/capa.jpg 200w,\n/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/2244e/capa.jpg 400w,\n/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"tratamento-de-erros/","tags":["Iniciante","Intermediário"],"title":"Tratamento de erros de condições e exceções"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar sobre as várias formas de trabalhar com funções, modificadores e views no Solidity. Falaremos sobre `function`, `view`, `pure` e `function modifier`.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABkQAAMBAQEAAAAAAAAAAAAAAAECERIEEP/aAAgBAQABBQJTOh9hVuciinz/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAEAAgIDAQAAAAAAAAAAAAABABECUQMQEjH/2gAIAQEABj8CR5FyyujUUvJ1C/s9FXvv/8QAHBAAAgICAwAAAAAAAAAAAAAAAREAIRAxQWGh/9oACAEBAAE/IWEgjoISZHCnCIgpLELoA6rhE35j/9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERABAhgTFBYXHR/9oACAEBAAE/EBu+BpzYTs/POPmbSa5OMQYKSjxtgUrIxUe8lElNp0af/9k=","aspectRatio":1.5151515151515151,"src":"/static/4ecdc9216caac28feeed6f5ffd8660dc/0cb3d/capa.jpg","srcSet":"/static/4ecdc9216caac28feeed6f5ffd8660dc/f836f/capa.jpg 200w,\n/static/4ecdc9216caac28feeed6f5ffd8660dc/2244e/capa.jpg 400w,\n/static/4ecdc9216caac28feeed6f5ffd8660dc/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"funcoes/","tags":["Iniciante","Intermediário"],"title":"Funções e Modificadores"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar as diversas maneiras de armazenar dados na blockchain com Solidity. Falaremos sobre os tipos `storage`, `memory` e `calldata`.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNnFGD/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQISEQQQ/9oACAEBAAEFAlOdD2qrswKw+f/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB4QAAEDBAMAAAAAAAAAAAAAAAEAAhEDEDFREiFx/9oACAEBAAY/AiDUJc6YGkSJcdITlcup8Wbf/8QAGhAAAgMBAQAAAAAAAAAAAAAAAREAITFB8P/aAAgBAQABPyFjII4EJErinCIgpLEsAGd1PATNuf/aAAwDAQACAAMAAAAQ4M//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAICAwEAAAAAAAAAAAABEQAhUYExQWHR/9oACAEBAAE/EBs+BpzQnp/PuNGDSa7JjEGCko9awAoKMqOL5zRHfmMBEVcyZ//Z","aspectRatio":1.5151515151515151,"src":"/static/f8c1fa2c67ce70d5b947f1cb41a9484d/0cb3d/capa.jpg","srcSet":"/static/f8c1fa2c67ce70d5b947f1cb41a9484d/f836f/capa.jpg 200w,\n/static/f8c1fa2c67ce70d5b947f1cb41a9484d/2244e/capa.jpg 400w,\n/static/f8c1fa2c67ce70d5b947f1cb41a9484d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"armazenamento/","tags":["Intermediário"],"title":"Armazenamento de Dados"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar o funcionamento do `struct`, ou em português estruturas, no Solidity.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQISEQQQ/9oACAEBAAEFAlOdD2FXZkVh8//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAEEAgMAAAAAAAAAAAAAAAEAAhFRAzEQEiH/2gAIAQEABj8CIOQlzpgUiRLjSE7XbybW+P/EABsQAAICAwEAAAAAAAAAAAAAAAERACEQMUHw/9oACAEBAAE/IWEgjoISZHFOERBSWJqAHaXPAY//2gAMAwEAAgADAAAAEIDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAAIBBAMAAAAAAAAAAAAAAQARIRBBYYFx0fD/2gAIAQEAAT8QG98DZzAmz65j5m2VrsxiDBSrHrEzlooDY8z4jT//2Q==","aspectRatio":1.5151515151515151,"src":"/static/31259dbbe7dc24376524542a7b5803a7/0cb3d/capa.jpg","srcSet":"/static/31259dbbe7dc24376524542a7b5803a7/f836f/capa.jpg 200w,\n/static/31259dbbe7dc24376524542a7b5803a7/2244e/capa.jpg 400w,\n/static/31259dbbe7dc24376524542a7b5803a7/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"estruturas/","tags":["Iniciante","Intermediário"],"title":"Estruturas - Struct"}},{"frontmatter":{"author":["Matheus"],"description":"Nesse artigo iremos abordar o funcionamento do `enum` no Solidity. O Solidity suporta os enumeradores e eles são muito úteis para modelar a escolha e acompanhar o estado do seu contrato inteligente.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjuxGg//EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9hV2ZFYfP/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAACAgIDAAAAAAAAAAAAAAABEQACMVEDEBL/2gAIAQEABj8CIPITazQ1CQ7HUDzPQT3M9f/EABsQAAICAwEAAAAAAAAAAAAAAAERACEQMUHw/9oACAEBAAE/IWEgjoISZHFOERBSWJqAdpc8Rj//2gAMAwEAAgADAAAAEJDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAAIBAwUAAAAAAAAAAAAAAQARIRAxgUFRYXHR/9oACAEBAAE/EBvfA2cwJ0fnmPmbZWuTGIMFKseMTOSigNj3MFbu9NP/2Q==","aspectRatio":1.5151515151515151,"src":"/static/89111c8f919cd99d55925f9bacb78cbd/0cb3d/capa.jpg","srcSet":"/static/89111c8f919cd99d55925f9bacb78cbd/f836f/capa.jpg 200w,\n/static/89111c8f919cd99d55925f9bacb78cbd/2244e/capa.jpg 400w,\n/static/89111c8f919cd99d55925f9bacb78cbd/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"layout":"BlogPage","suburl":"enum/","tags":["Iniciante","Intermediário"],"title":"Enum - Enumeradores"}}]}},"pageContext":{"title":"Intermediário","description":"Todos os conteúdos de nível intermediário estão disponíveis aqui","image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA4UlEQVQ4y+2SzQ7BQBSFO4SwUYnfsLAQC+IN2LGw4fHaTjWa/gi6IgRvd8wMEZPqpLFhIbm5OZPMd27mztE0is/rD38XJjYIfZRGJZ1isiHKgmaKbghhKmHubaLiYXbG+IBBhJqHZsCPkxN6W25E1DADFldMjxhGGO3R3WB+xfyC/k4JPy2yFHnR2e2MeH/mfky57fiGiJVy2zKZuOpfTRihsbTY8kNUxuZLVCxZ38V7zEJuibqHqoe6zz+fCd1FZ42yi5KLdoiikzw5a6Ph84SxzvhWAH3FGRZB5tUKUXBwA0lChSUWomAZAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/9ae5ed2a493de17379813c48bb6122cd/630fb/topic.png","srcSet":"/static/9ae5ed2a493de17379813c48bb6122cd/69585/topic.png 200w,\n/static/9ae5ed2a493de17379813c48bb6122cd/630fb/topic.png 300w","sizes":"(max-width: 300px) 100vw, 300px"}}},"url":"intermediario/"}},"staticQueryHashes":["119291576","2330562257","4065828390"]}